import {getOneUserDetailByIdAPI, saveOneAPI, updateOneAPI} from "@/apis/user.jsx";
import {useEffect, useState} from "react";
import {useNavigate} from "react-router-dom";
import {message} from "antd";



// 自定义hook，根据写法规范，函数前面用use
function useGetUserById(id){


    const [userInfo,setUserInfo]=useState({})

     const navigator=useNavigate()

    // useEffect钩子函数，里面可以定义一个函数，然后执行这个函数
    useEffect(() => {
        const getOneUserById=async ()=>{
            const res=await getOneUserDetailByIdAPI(id)
            // res的格式是{code:200,data:{},msg:'ok'}
            if(res.code===200){
                setUserInfo(res.data)
            }
            else if(res.code===500){
                //  如果不存在这个用户，就提示不存在这个用户
                 message.error(res.msg)

                // 跳转到用户列表
                 navigator('/backgroundManage/user')
            }
        }
        // 执行一下这个函数
        getOneUserById().then()

    }, []);
    return userInfo
}

// 添加新用户
function useSaveOne() {
    return async (data) => {
        return await saveOneAPI(data).then();
    };
}

// 修改用户信息
function useUpdateOneUser(){
    return async (data)=>{
        return await updateOneAPI(data).then()
    }
}




// 导出这个hook函数
export {useGetUserById,useSaveOne,useUpdateOneUser}